package com.amsp.oa.oademo.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;

@Data
@TableName("maintenance_form")
public class MaintenanceForm {
    @TableId(type = IdType.AUTO)
    private Long id;

    private String applyDepartment;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime applyDate;

    private String maintenanceLocation;

    private String maintenanceContent;

    private String generalManagerApproval;

    private String directorReview;

    private String departmentManager;

    private String applicant;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime acceptDate;

    private String maintenanceMethod;

    private String solution;

    private BigDecimal cost;

    private String costDetails;

    private String expectedCompletionTime;

    private String specificExpectedDate;

    private String approval;

    private String review;

    private String adminSupervisor;

    private String acceptor;

    private String generalManagerOpinion;

    private String hrDepartmentOpinion;

    private String chairmanOpinion;

    private String generalManagerSignature;

    private String hrDepartmentSignature;

    private String chairmanSignature;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    @TableLogic
    private Boolean isDeleted;
}